package com.zjsd.sqeybusiness.service.impl;

import java.util.Date;
import java.util.List;

import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.utils.ServletUtils;
import com.ruoyi.framework.web.service.TokenService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.zjsd.sqeybusiness.mapper.CostMapper;
import com.zjsd.sqeybusiness.domain.Cost;
import com.zjsd.sqeybusiness.service.ICostService;

/**
 * 【请填写功能名称】Service业务层处理
 *
 * @author Zheng
 * @date 2021-07-20
 */
@Service
public class CostServiceImpl implements ICostService
{
    @Autowired
    private CostMapper costMapper;

    @Autowired
    private TokenService tokenService;

    /**
     * 查询【请填写功能名称】
     *
     * @param costid 【请填写功能名称】ID
     * @return 【请填写功能名称】
     */
    @Override
    public Cost selectCostById(Long costid)
    {
        return costMapper.selectCostById(costid);
    }

    /**
     * 查询【请填写功能名称】列表
     *
     * @param cost 【请填写功能名称】
     * @return 【请填写功能名称】
     */
    @Override
    public List<Cost> selectCostList(Cost cost)
    {
        return costMapper.selectCostList(cost);
    }

    /**
     * 新增【请填写功能名称】
     *
     * @param cost 【请填写功能名称】
     * @return 结果
     */
    @Override
    public int insertCost(Cost cost)
    {
        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
        SysUser user = loginUser.getUser();
        Long deptid = user.getDeptId();
        Long userid = user.getUserId() ;
        cost.setUserid(user.getUserId());
        cost.setUsername(user.getNickName());
        cost.setDeptid(deptid);
        cost.setLrtime(new Date());
        return costMapper.insertCost(cost);
    }

    /**
     * 修改【请填写功能名称】
     *
     * @param cost 【请填写功能名称】
     * @return 结果
     */
    @Override
    public int updateCost(Cost cost)
    {
        return costMapper.updateCost(cost);
    }

    /**
     * 批量删除【请填写功能名称】
     *
     * @param costids 需要删除的【请填写功能名称】ID
     * @return 结果
     */
    @Override
    public int deleteCostByIds(Long[] costids)
    {
        return costMapper.deleteCostByIds(costids);
    }

    /**
     * 删除【请填写功能名称】信息
     *
     * @param costid 【请填写功能名称】ID
     * @return 结果
     */
    @Override
    public int deleteCostById(Long costid)
    {
        return costMapper.deleteCostById(costid);
    }
}
